jun.DofDetilGrid = Ext.extend(Ext.grid.GridPanel, {
    title: "DofDetil",
    id: 'docs-jun.DofDetilGrid',
    iconCls: "silk-grid",
    viewConfig: {
        forceFit: true
    },
    sm: new Ext.grid.RowSelectionModel({singleSelect: true}),
    plugins: [new Ext.ux.grid.GridHeaderFilters],
    columns: [
        {
            header: 'Kode',
            resizable: true,
            dataIndex: 'barang_id',
            width: 100,
            renderer: jun.renderBarcode
        },
        {
            header: 'Nama Barang',
            resizable: true,
            dataIndex: 'barang_id',
            width: 150,
            renderer: jun.renderNamaBarang
        },
        {
            header: 'SAT',
            resizable: true,
            dataIndex: 'sat',
            width: 100
        },
//        {
//            header: 'DOS JML',
//            resizable: true,
//            dataIndex: 'jml_dos',
//            width: 100,
//            align: "right",
//            renderer: Ext.util.Format.numberRenderer("0,0")
//        },
        {
            header: 'DOS PCS',
            resizable: true,
            dataIndex: 'pcs_dos',
            width: 100,
            align: "right",
            renderer: Ext.util.Format.numberRenderer("0,0")
        },
//        {
//            header: 'DOF JML',
//            sortable: true,
//            resizable: true,
//            dataIndex: 'jml_dof',
//            width: 100,
//            align: "right",
//            renderer: Ext.util.Format.numberRenderer("0,0")
//        },
        {
            header: 'DOF PCS',
            sortable: true,
            resizable: true,
            dataIndex: 'pcs_dof',
            width: 100,
            align: "right",
            renderer: Ext.util.Format.numberRenderer("0,0")
        },
//        {
//            header: 'SISA JML',
//            sortable: true,
//            resizable: true,
//            dataIndex: 'jml_sisa',
//            width: 100,
//            align: "right",
//            renderer: Ext.util.Format.numberRenderer("0,0")
//        },
        {
            header: 'SISA PCS',
            sortable: true,
            resizable: true,
            dataIndex: 'pcs_sisa',
            width: 100,
            align: "right",
            renderer: Ext.util.Format.numberRenderer("0,0")
        },
//        {
//            header: 'RIIL JML',
//            sortable: true,
//            resizable: true,
//            dataIndex: 'jml_riil',
//            width: 100,
//            align: "right",
//            renderer: Ext.util.Format.numberRenderer("0,0")
//        },
        {
            header: 'RIIL PCS',
            sortable: true,
            resizable: true,
            dataIndex: 'pcs_riil',
            width: 100,
            align: "right",
            renderer: Ext.util.Format.numberRenderer("0,0")
        },
//        {
//            header: 'Selisih JML',
//            sortable: true,
//            resizable: true,
//            dataIndex: 'jml_selisih',
//            width: 100,
//            align: "right",
//            renderer: Ext.util.Format.numberRenderer("0,0")
//        },
        {
            header: 'Selisih PCS',
            sortable: true,
            resizable: true,
            dataIndex: 'pcs_selisih',
            width: 100,
            align: "right",
            renderer: Ext.util.Format.numberRenderer("0,0")
        }
    ],
    initComponent: function () {
        this.store = jun.rztDofDetil;
        this.tbar = {
            xtype: 'toolbar',
            items: [
                {
                    xtype: 'button',
                    text: 'Ubah Riil (PCS)',
                    ref: '../btnEdit'
                },
                {
                    xtype: 'button',
                    text: 'Calculator',
                    handler: jun.showCalculator
                }
            ]
        };
        jun.DofDetilGrid.superclass.initComponent.call(this);
        this.btnEdit.on('Click', this.loadEditForm, this);
        this.getSelectionModel().on('rowselect', this.getrow, this);
    },
    getrow: function (sm, idx, r) {
        this.record = r;
        var selectedz = this.sm.getSelections();
    },
    loadForm: function () {
        var form = new jun.DofDetilWin({modez: 0});
        form.show();
    },
    loadEditForm: function () {
        var selectedz = this.sm.getSelected();
        if (selectedz == undefined) {
            Ext.MessageBox.alert("Warning", "Anda belum memilih item");
            return;
        }
        Ext.MessageBox.prompt('Jumlah Riil', 'Masukkan jumlah riil kembali ke gudang:', function (btn, text) {
            if (text == "" || btn == 'cancel') return;
            var selectedz = this.sm.getSelected();
            var idz = selectedz.json.barang_id;
            var num = /^-|\d+/;
            if (num.test(text)) {
                var sisa = parseFloat(selectedz.json.jml_sisa);
                var riil = parseFloat(text);
                var selisih = sisa - riil;
//                var pcs_riil = jun.convertToPcs(idz, selectedz.json.sat, riil);
//                var pcs_selisih = jun.convertToPcs(idz, selectedz.json.sat, selisih);
                selectedz.set('jml_riil', riil);
                selectedz.set('jml_selisih', selisih);
                selectedz.set('pcs_riil', riil);
                selectedz.set('pcs_selisih', selisih);
                selectedz.commit();
            } else {
                Ext.MessageBox.show({
                    title: 'Error',
                    msg: 'Input harus angka.',
                    buttons: Ext.MessageBox.OK,
                    icon: Ext.MessageBox.ERROR
                });
            }
        }, this);
//        var form = new jun.DofDetilWin({modez: 1, id: idz});
//        form.show(this);
//        form.formz.getForm().loadRecord(this.record);
    }
})
